TRUNCATE TABLE
TRUNCATE TABLE文は、すべての行を削除するDELETE文と類似しています。ただし、行を個別に削除するDELETEに比べ、処理が高速に実行されます。
アクセス制御
TimesTenインスタンスでアクセス制御が有効な場合、この文にはADMIN権限が必要です。
SQL構文
TRUNCATE TABLE [Owner.]TableName
パラメータ
TRUNCATE TABLEには、次のパラメータがあります。
[Owner.]TableName |
切り捨てる表を指定します。
|
説明
- TRUNCATE操作はロールバックできます。
- TRUNCATE文と同じトランザクション内で、この文の後にINSERT文を使用することはできません。
- 同時読取りのコミット読取り操作が可能です。読取りセマンティックは、DELETE文がある場合の読取りのコミット読取りと同じになります。
- 子表がある場合でも、TRUNCATEを実行できます。ただし、TRUNCATEを実行するには、子表を空にする必要があります。いずれかの子表に行が含まれていると、子表が空でないことを示すエラーが返されます。
- マテリアライズド・ビューのディテール表およびキャッシュ・グループまたは一時表に含まれる表では、TRUNCATEはサポートされていません。
- 表に可変長の表外データが含まれている場合、TRUNCATE TABLEの実行結果は、表内のすべての行を削除するDELETE文と同じです。表外データの詳細は、「数値データ型」を参照してください。
- 表をレプリケートしている場合にTRUNCATE文を使用すると、操作対象の行が存在しない場合でも、サブスクライバにレプリケートされます。
- タイムスタンプ競合チェックが有効な状態で表をレプリケートすると、競合が報告されません。
- 切り捨てられた表がコミットされていない場合は、この表のハッシュ・ページを変更するために、DROP TABLEおよびALTER TABLE操作を使用できません。
例5.125
Recreation.Clubs表のすべての行を削除するには、次の文を使用します。
TRUNCATE TABLE Recreation.Clubs;
関連項目
ALTER TABLE
DROP TABLE